From: Jakub Steiner Date: Tue, 24 Feb 2015 16:41:56 +0000 (+0100) Subject: theme: provide some info on the SASS theming X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~1656 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=db2b83edf324d50338f432c7d910023c2fbcc9b3;p=gnome-shell.git theme: provide some info on the SASS theming - use bundles for using SASS v 3.4+ - README - shell script --- diff --git a/data/theme/Gemfile b/data/theme/Gemfile new file mode 100644 index 000000000..99f8e2a63 --- /dev/null +++ b/data/theme/Gemfile @@ -0,0 +1 @@ +gem "sass", "~> 3.4.0" diff --git a/data/theme/README b/data/theme/README new file mode 100644 index 000000000..c24ec9980 --- /dev/null +++ b/data/theme/README @@ -0,0 +1,35 @@ +Summary +------- + +* Do not edit the CSS directly, edit the source SCSS files and process them with SASS (run + `/.parse-sass.sh` when you have the required sofwtare installed, as described below) +* To be able to use the lates/adequate version of sass, install ruby, gem, sass & bundle. + On Fedora F20, this is done with `sudo dnf install rubygems && gem install bundle && bundle install` + from the same directory this README resides in. + +How to tweak the theme +---------------------- + +Adwaita is a complex theme, so to keep it maintainable it's written and processed in SASS, the +generated CSS is then transformed into a gresource file during gtk build and used at runtime in a +non-legible or editable form. + +It is very likely your change will happen in the _common.scss file. That's where all the widget +selectors are defined. Here's a rundown of the "supporting" stylesheets, that are unlikely to be the +right place for a drive by stylesheet fix: + +_colors.scss - global color definitions. We keep the number of defined colors to a necessary minimum, + most colors are derived form a handful of basics. It is an exact copy of the gtk+ + counterpart. Light theme is used for the classic theme and dark is for GNOME3 shell + default. + +_drawing.scss - drawing helper mixings/functions to allow easier definition of widget drawing under + specific context. This is why Adwaita isn't 15000 LOC. + +_common.scss - actual definitions of style for each widget. This is where you are likely to add/remove + your changes. + +You can read about SASS at http://sass-lang.com/documentation/. Once you make your changes to the +_common.scss file, you can either run the ./parse-sass.sh script or keep SASS watching for changes as you +edit. This is done by running `bundle exec sass --watch --sourcemap=none .` If sass is out of date, or is +missing, you can install it with `bundle install`. diff --git a/data/theme/parse-sass.sh b/data/theme/parse-sass.sh new file mode 100755 index 000000000..e9cda2564 --- /dev/null +++ b/data/theme/parse-sass.sh @@ -0,0 +1,3 @@ +#!/usr/bin/bash + +bundle exec sass --update --sourcemap=none .